// 从 element-plus 导入 ElMessage函数
import {ElMessage, ElMessageBox} from "element-plus";

// 注意：需要导出才可以在其他组件中使用

/**
 * 消息提示框
 */
export function messageTip(message, type) {
    ElMessage({
        message: message,  // 消息内容
        type: type,        // 消息类型 success warning info error
        showClose: true,   // 消息提示框是否可关闭
        center: true,      // 文字是否居中
        duration: 3000     // 显示时间，单位是毫秒
    })
}

/**
 * 获取存储在sessionStorage或者localStorage中的token名字
 */
export function getTokenName() {
    return "dlyk_token";
}

/**
 * 删除之前存储的token
 */
export function removeToken() {
    window.sessionStorage.removeItem(getTokenName());
    window.localStorage.removeItem(getTokenName());
}

/**
 * 消息确认框
 */
export function messageConfirm(msg) {
    return ElMessageBox.confirm(
        msg,        // 提示语
        '系统提醒',  // 提示框标题
        {
            confirmButtonText: '确认',
            cancelButtonText: '取消',
            type: 'warning',
        }
    )
}

/**
 * 获取token
 */
export function getToken() {

    // 从会话存储中获取token
    let token = window.sessionStorage.getItem(getTokenName());

    // 如果没有获取到token
    if (!token) {
        // 则从本地存储中获取token
        token = window.localStorage.getItem(getTokenName());
    }

    // 判断有没有获取到token，有则直接返回，没有则弹出确认框提示信息
    if (token) {
        // 返回token
        return token;
    } else {
        // 弹出确认框
        messageConfirm("登录已过期，是否重新登录? ").then(() => {
            // 用户点击确认，跳转登录页面
            this.$router.push("/");
        }).catch(() => {
            // 用户点击取消，弹出提示信息
            messageTip("登陆已过期，请重新登录", "warning");
        })
    }
}

